package com.sws.device.mapper;


import com.sws.device.domain.DevDeviceDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 设备信息Mapper接口
 */
@Mapper
public interface DevDeviceWebSocketMapper {
    
    /**
     * 根据设备序列号查询设备信息
     *
     * @param sn 设备序列号
     * @return 设备信息
     */
    DevDeviceDTO selectBySn(@Param("sn") String sn);
    
    /**
     * 插入设备信息
     *
     * @param device 设备信息
     * @return 影响行数
     */
    int insert(DevDeviceDTO device);
    
    /**
     * 更新设备信息
     *
     * @param device 设备信息
     * @return 影响行数
     */
    int update(DevDeviceDTO device);
    
    /**
     * 根据ID删除设备信息
     *
     * @param id 设备ID
     * @return 影响行数
     */
    int deleteById(@Param("id") Long id);
    
    /**
     * 根据设备序列号删除设备信息
     *
     * @param sn 设备序列号
     * @return 影响行数
     */
    int deleteBySn(@Param("sn") String sn);
    
    /**
     * 查询所有设备信息
     *
     * @return 设备信息列表
     */
    List<DevDeviceDTO> selectAll();
} 